package Day36.test2;

import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

/**
 * 1.已知字符串“adhflkalkfdhasdkhflsa”
 * （1）统计去掉重复后的字符
 * （2）统计每个字符出现的次数，使用map存储，字符为键，次数为值。
 * （3）遍历map，打印统计信息
 * 编码实现。
 */
public class Test1 {
    public static void main(String[] args) {
        test2();
    }

    public static void test2(){
        String str = "adhflkalkfdhasdkhflsa";
        Map<Character,Integer> map = new HashMap<>();
        //将字符串转换为字符数组
        char[] cs = str.toCharArray();
        for(char c : cs){
            int count = 1;
            //检测字符c在map集合中是否存在
            if(map.containsKey(c)){//检测key是否在map集合中，如果存在返回true
                count = map.get(c)+1;
            }
            map.put(c,count);
        }

        for (Map.Entry<Character,Integer> entry : map.entrySet()){
            System.out.println(entry.getKey()+":"+entry.getValue());
        }
    }

    private static void test1() {
        String str = "adhflkalkfdhasdkhflsa";
        Set<Character> set = new HashSet<>();
        //统计去掉重复后的字符
        for(int i=0;i<str.length();i++){
            char c = str.charAt(i);
            set.add(c);
        }

        for(char c : set){
            System.out.println(c);
        }
    }
}
